package ar.uba.dc.sistemas.filosofosChinos;

import java.util.ArrayList;

/*Aqu'i se resulve el problema de los fil'osofos chinos tratado en clase. 
 * Para mas informaci'on: http://es.wikipedia.org/wiki/Problema_de_los_fil%C3%B3sofos_cenando
 * 
 * La soluci'on que se aplic'o aqu'i es: los fil'osofos se van turnando para comer. Esta soluci'on
 * no permite maximizar la concurrencia pero evita los locks. Se elige una cantidad al azar de 
 * veces que comer'a cada fil'osofo para que el proceso pare. 
 * */
public class FilosofosChinos {

	private static String[] Nombres = {"Socrates", "Aristoteles", "Platon", "Democrito", "Kant"};
	 
	
	public static void main(String[] args) {
		ArrayList<Filosofo> filosofos=new ArrayList<Filosofo>();
		int sem=0;
		for(String nombre : Nombres){
			sem++;
			Palito i= new Palito(sem);
			Palito d= new Palito(sem+1);
			filosofos.add(new Filosofo(nombre,i, d ));
		}
		for(Filosofo i : filosofos){
			i.start();
		}

	}

}
